package com.dbz.service.Impl;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dbz.dao.ProductDao;
import com.dbz.entity.Product;
import com.dbz.entity.ProductJin;
import com.dbz.service.ProductService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
import java.util.Set;

@Service
public class ProductServiceImpl extends ServiceImpl<ProductDao,Product> implements ProductService {
    @Resource
    private ProductDao productDao;
    /**
     * 分页查询
     * @param page
     * @param queryMapper
     * @return
     */
    @Override
    public IPage<Product> selectPage(IPage<Product> page, Wrapper<Product> queryMapper) {
        return productDao.selectPage(page,queryMapper);
    }

    @Override
    public List<Product> selectPages(String proname, Integer page, Integer rows) {
        return productDao.selectPages(proname,page,rows);
    }

    /**
     * 根据id删除商品
     * @param proid
     * @return
     */
    @Override
    public int delproductByid(String proid){
        return productDao.deleteById(proid);
    }

    /**
     * 修改
     * @param product
     * @return
     */
    @Override
    public int updateProductById(Product product) {
        return productDao.updateById(product);
    }

    /**
     * 添加
     * @param product
     * @return
     */
    @Override
    public int insertProduct(Product product) {
        return productDao.insert(product);
    }

    @Override
    public List<Product> selectProductGetAll() {
        return productDao.selectList(null);
    }



    /**
     * 根据名字修改数量
     * @param proname
     * @param pronumber
     * @return
     */
    @Override
    public int updateProductNumber(String proname,
                                   Integer pronumber,
                                   String proguige,
                                   String wareid,
                                   String prosupplier) {
        return productDao.updateProductNumber(proname,
                pronumber,proguige,wareid,prosupplier);
    }
    /**
     * 根据id修改图片
     * @param proid
     * @param proimg
     * @return
     */
    @Override
    public int updateProductImgById(String proid, String proimg) {
        return productDao.updateProductImgById(proid,proimg);
    }

    /**
     * 查询所有
     * @return
     */
    @Override
    public Set<Product> selectProductName() {
        return productDao.selectProductName();
    }


    /**
     * 根据产品类别查询产品
     * @param protype
     * @return
     */
    @Override
    public List<Product> selectProByProTypeId(Integer protype) {
        return productDao.selectProByProTypeId(protype);
    }

    @Override
    public List<Product> selectById(String proid) {
        return productDao.selectById(proid);
    }

    @Override
    public int updateNumber(String proid,Integer pronumber) {
        return productDao.updateNumber(proid,pronumber);}

    //进库
    @Override
    public int insertProduct(ProductJin productJin){
        return productDao.insertProduct(productJin);

    }


}
